// = engine library =

// ICvar
// XXX: const and non-const entries might be flipped here on Windows, not 100%
// sure. kind of just choosing not to care thusfar, as it still works the same!
vtidx_AllocateDLLIdentifier { default 5 Portal2 8 }
vtidx_RegisterConCommand { default 6 Portal2 9 }
vtidx_UnregisterConCommands { default 8 Portal2 11 }
//vtidx_FindComandBase { default 10 Portal2 13 } // unused
vtidx_FindVar { default 12 Portal2 15 }
//vtidx_FindVar_const { default 13 Portal2 16 } // e.g. this might be wrong(???)
vtidx_FindCommand { default 14 Portal2 17 }
vtidx_CallGlobalChangeCallbacks { default 20 L4Dx 18 Portal2 21 }
vtidx_ConsoleColorPrintf { OrangeBoxbased 23 L4Dx 21 Portal2 24 }

// CDemoRecorder
vtidx_SetSignonState 3
vtidx_StopRecording 7
vtidx_RecordPacket 11

// VEngineClient
vtidx_GetGameDirectory {
	Client015 35 // current portal 2
	Client014 {
		L4D2 73 // YES IT'S SEVENTY THREE ALL OF A SUDDEN.
		2013 35
	}
	Client013 {
		L4Dx 36 // AND THEN THEY CHANGED IT BACK LATER! (on 2.0.4.1)
		default 35 // <- most things have this!
	}
	Client012 37 // dmomm, ep1, ...
}
vtidx_GetEngineBuildNumber {
	L4D2 {
		Client013 99
		//Client014 ??? // TODO(compat): find out what this is (maybe 136?)
	}
}

// IGameUIFuncs
vtidx_GetDesktopResolution 5

// IGame/CGame
vtidx_DispatchAllStoredGameMessages 16

// VEngineServer
vtidx_PEntityOfEntIndex { OrangeBox 19 } // probably OE too but???
vtidx_ServerCommand { OrangeBoxbased 36 }

sz_edict {
	default 20
	L4Dbased 16 // see engineapi.h comment
}

// SendProp
sz_SendProp {
	// wrapping all these in 005 for right now.
	// will need at least 009 as well at some point!
	SrvDLL005 {
		OrangeBox	76
		L4D1		80
		L4D2		84
		Portal2		84
	}
	//2013 80 // TODO(compat): not sure about 2013/009 yet
}
off_SP_varname {
	SrvDLL005 {
		OrangeBox	44
		//L4Dbased	48 // TODO(compat): haven't tested Survivors
		// for now do this instead:
		L4D			48
		Portal2		48
	}
	//2013 48 // TODO(compat): not sure about 2013/009 yet pt2
}
off_SP_offset {
	SrvDLL005 {
		OrangeBox	68
		L4D1		72
		L4D2		76
		Portal2		76
	}
	//2013 72 // TODO(compat): not sure about 2013/009 yet pt3
}

// IEngineVGuiInternal/CEngineVGui
vtidx_VGuiConnect { // note: the actual name is Connect() but that's too generic
	default "3 + NVDTOR"
	Portal2 "4 + NVDTOR" // ActivateGameUI added
}
vtidx_VGuiIsInitialized { // likewise, function is just called IsInitialized()
	default "6 + NVDTOR"
	Portal2 "7 + NVDTOR"
}

// vi: sw=4 ts=4 noet tw=80 cc=80 ft=plain
